Large update to WASM Prism backend with Chicory#3902
Large update to WASM Prism backend with Chicory#3902
Conversation
org.jruby:chicory-prism
Nodes need access to RubySymbol and support APIs at least.
* It is a resource used as source code (in wasm) that is compiled for the project artifact. * Added to Rake CLOBBER
Allow the buffer functions to manage the internal pointer and use consistent argument order for calloc.
Primarily for testing purposes.
This is not all of the boot files but is sufficient to demonstrate a memory fault in the AOT WASM parser.
Fix the memory leak
Cleanup and improvements
Tweaks to WASM-based build for JVM
This is only intended to ever be used with JRuby 10+, which already requires Java 21.
* org.jruby.parser is base package for JRuby parsers * org.jruby.parser.prism is for parsers based on Prism * org.jruby.parser.prism.wasm is for the WASM Prism wrapper
6d3a2f3 to
2235128
Compare
kddnewton
left a comment
There was a problem hiding this comment.
I'm generally fine with all of these changes. Would ruby-lang.org work?
|
@kddnewton Something based on that domain would be fine, but no hyphens in Java package names. Too bad I would propose the following:
We'd need to register the group ID with the Maven Central folks (https://central.sonatype.org/register/namespace/#for-dns) and make sure anyone who wants to be able to publish Maven artifacts has access. For the moment I've got the WASM bits all under the following:
|
This moves all of the non-JRuby Java code from the org.prism package to the org.ruby_lang.prism package (corresponding to the ruby-lang.org domain and prism project).
|
@kddnewton @enebo I believe this could be merged now and additional work done as smaller one-off PRs. This PR includes:
I have not:
This PR is now complete and sufficient to get an artifact for the WASM wrapper released to Maven Central for JRuby's use. |
| <version>3.14.1</version> | ||
| <configuration> | ||
| <release>11</release> | ||
| <release>21</release> |
There was a problem hiding this comment.
Is it OK to bump files under java/ to 21 too in the Rakefile:
Lines 48 to 49 in 55948fe
I recall we had to downgrade to Java 8 (for JRuby 9 IIRC) in truffleruby/truffleruby@9acddea, is that still necessary?
This PR includes a large set of changes to update the WASM backend using latest versions of Chicory and help from @andreaTP to clean it up and get it ready for a public release.
The changes here should not affect the existing native-library Java wrapper, but we will need to agree upon a package name and Maven groupID that represent a domain we have some control over (org.prism does not qualify since prism.org is completely unrelated to this project).
I would like to get Maven artifacts published for the native and WASM wrappers before JRuby 10.1 is released in the next few weeks.